#include "mdns.h"
#include "esp_log.h"
#include "esp_err.h"
#include "wifi_configuration.h" //wifi配置头文件
static const char *MDNS_TAG = " mdns ";
/**
 * 设置并启动mDNS服务
 */
void mdns_setup(void)
{
    // 初始化mDNS服务
    int ret;
    ret = mdns_init();
    if (ret != ESP_OK) {                              // 检查初始化是否成功
        ESP_LOGW(MDNS_TAG, "mDNS init failed:%d", ret); // 输出警告日志
        return;                                       // 初始化失败则直接返回
    }

    // 设置mDNS主机名
    ret = mdns_hostname_set(MDNS_HOSTNAME);
    if (ret != ESP_OK) {                                  // 检查主机名设置是否成功
        ESP_LOGW(MDNS_TAG, "mDNS setting hostname failed:%d", ret); // 输出警告日志
        return;
    }
    ESP_LOGI(MDNS_TAG, "mDNS hosname set to: [%s]", MDNS_HOSTNAME); // 输出信息日志

    // 设置默认mDNS实例名称
    ret = mdns_instance_name_set(MDNS_INSTANCE);
    if (ret != ESP_OK) {                                    // 检查实例名设置是否成功
        ESP_LOGW(MDNS_TAG, "mDNS setting instance name failed:%d", ret); // 输出警告日志
        return;
    }
    ESP_LOGI(MDNS_TAG, "mDNS instance name set to: [%s]", MDNS_INSTANCE); // 输出信息日志
}

void mdns_stop(void)
{
    mdns_free(); // 释放mDNS资源
}